
//例：function myFunction(){
// 	var x;
// 	var txt="";
// 	var person={fname:"Bill",lname:"Gates",age:56};
// 	for (x in person){
// 		txt=txt + person[x];
// 	}
// 	document.getElementById("demo").innerHTML=txt;
// }

let arr  = [1,2,2,4,5,6,7]
var findLucky = function(arr) {
    let m = {}
    arr.forEach((x) => {
        m[x] = (x in m ? m[x] + 1 : 1)
    })//将判断的数字变为键值，属性为数字出现的次数
    let ans = -1
    Object.keys(m).forEach((key) => {
        ans = (key == m[key] ? Math.max(key, ans) : ans)
    })
    return ans
};
console.log(findLucky(arr))

//计算两值之和返回其对应的索引
var twoSum = function(nums, target) {
    const numMap = new Map(); // 创建哈希表
    for (let i = 0; i < nums.length; i++) {
        const complement = target - nums[i]; // 计算补数
        // 关键检查：补数是否已在Map中？
        if (numMap.has(complement)) {
            return [numMap.get(complement), i]; // 返回两个索引
        }
        // 存储当前数字及其索引
        numMap.set(nums[i], i);//因为要返回索引所以要存储索引为值
    }
    return [];
};